from django.db import models

# Create your models here.

class Area(models.Model):
    '''
    行政区划
    '''
    name=models.CharField(max_length=20,verbose_name='名称')
    #在django中设置自关联字段，需要把外键的模型名称改成self,表示当前模型
    #related_name 关联字段的名称【在获取数据的时候使用】
    #department 部门
    #employee  员工 depart 部门ID
    #找指定部门下面的员工->department_set  ->Django默认提供了 模型类小写_set ->通过related_name 可以修改
    #在django中如果在自关联字段的表中使用 模型类小写_set  频繁查询数据，会出现数据混乱，所以一般需要使用related_name重置一个属性名称
    parent = models.ForeignKey('self',on_delete=models.SET_NULL,related_name='subs',null=True,blank=True,verbose_name='上级行政区划')

    class Meta:
        db_table='tb_areas'
        verbose_name='行政区划'
    '''
    这个__str__的作用是美化打印出来的结果，使人类更方便查看。看下面例子，如果没有__st__方法，打印的结果是<__main__.Test object at 0x0000022D6D1387B8>格式，有了__str__方法后，打印时会按照__str__定义的格式来打印，打印结果为Name:xiaoming。

class Test:

    def __init__(self, name, job):
        self.name = name
        self.job = job

    def __str__(self):
        return 'Name:' + self.name
instance = Test('xiaoming', 'Teacher')
print(instance)
    '''
    def __str__(self):
        return self.name